package org.darkforest.dao.mapper;

import org.darkforest.dao.annotation.DBMapper;
import org.darkforest.model.Store;
import org.darkforest.model.StoreWithBLOBs;

import java.util.List;
import java.util.Map;

@DBMapper
public interface StoreMapper {
    int deleteByPrimaryKey(Integer storeId);

    int insert(StoreWithBLOBs record);

    int insertSelective(StoreWithBLOBs record);

    StoreWithBLOBs selectByPrimaryKey(Integer storeId);

    Store selectStoreByPrimaryKey(Integer storeId);

    int updateByPrimaryKeySelective(StoreWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(StoreWithBLOBs record);

    int updateByPrimaryKey(Store record);

    List selectAllStore();

    List<Store> findStoreByCondition(Store record);
    int  updateStoreByPrimaryKey (Store record);

    StoreWithBLOBs getStoreInfoByMemberId(Integer memberId);

    List<Store> getCartStoreInfo(Integer memberId);

    List<Store> findStoreExceptSelf(Map<String, Object> map);

    List<Map<String,Object>> findStoreDegreeByCondition(Store store);

    List<Map<String,Object>> findStoreAreaByCondition(Store store);

    List<Map<String,Object>> findStoreSalesByCondition(Store store);

    List<Map<String,Object>> findStoreTop30ByCondition(Store store);

    List<Map<String,Object>> findAddStoreByCondition(Store store);

    void closeStore(Store store);
}